/**
 * Description:
 * Class Name:GcTest
 * Date:2022/2/13 10:45
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第6章_面向对象_下._6_10_对象与垃圾回收._6_10_2_强制垃圾回收;

public class GcTest {
    public static void main(String[] args) {
        for (int i = 0; i < 4; i++) {
            new GcTest();
            // 下面两行代码作用完全相同，都是强制系统进行垃圾回收
//            System.gc();                                  // ①
            Runtime.getRuntime().gc();                      // ②
        }
    }
    // 如果不使用①②的代码，直到系统退出，都不曾调用GcTest对象的finalize方法，因为系统何时调用finalize是不确定的
    // 因为系统何时调用finalize是不确定的，所以从java9开始，该方法被标记为不推荐
    public void finalize(){
        System.out.println("系统正在清理GcTest对象的资源...");
    }
}
